//雷达人感模块
#ifndef _PM20_APP_RADAR_H_
#define _PM20_APP_RADAR_H_

#ifdef __cplusplus
extern "C" {
#endif

#define FRAME_HEAD1       (0xAA) //帧头(固定)
#define FRAME_HEAD2       (0xFF) //帧头(固定)
#define FRAME_HEAD3       (0x03) //帧头(固定)
#define FRAME_HEAD4       (0x00) //帧头(固定)
#define FRAME_END1        (0x55) //帧尾(固定)
#define FRAME_END2        (0xCC) //帧尾(固定)
// 帧头和帧尾的长度
#define FRAME_HEADER_LENGTH 4
#define FRAME_TAIL_LENGTH 2
#define TARGET_DATA_LENGTH 8 // 每个目标的数据长度
#define MAX_TARGETS 3   //最大目标数量

// 定义目标结构体
typedef struct {
    int x_coordinate;    // x坐标，单位毫米
    int y_coordinate;    // y坐标，单位毫米
    int velocity;        // 速度，单位厘米/秒
    int distance;        // 距离采样长度，单位毫米
} Target;

extern void pm20_app_radar_init(void) ;

// 靠近开机模式指令下发的接口  1打开  0关闭
void colse_to_boot(int state);

// 风随人动模式转机开度上传接口 数据一直上传 
// max有值，min无值时，为单人跟踪模式
// max和min都有值时，为多人摆动模式
uint16_t rad_get_step_max(void);
uint16_t rad_get_step_min(void);

#ifdef __cplusplus
} /*extern "C"*/
#endif

#endif //_PM20_app_radar_H_